

/* 概览表格信息 */
const tableViewData = () => {
  let header = [{
    title: '部门',
    align: 'center',
    dataIndex: 'indexOrgName'
  }, {
    title: '责任人',
    align: 'center',
    dataIndex: 'scorerName'
  }, ...getMonthData('table'),
    {
      title: '查看',
      width: 80,
      align: 'center',
      dataIndex: 'operation',
      scopedSlots: { customRender: 'operation' }
    }
  ];

  return {
    loading: true,
    scroll: { x: true },
    columns: header,        // 表头信息
    dataSource: [],         // 表格数据，通过接口拿到，默认空数组
  }
}

/* 详情表格信息 */
const tableDetailData = (month) => {
  let header = [{
    title: '序号',
    align: 'center',
    width: 70,
  //  fixed: 'left',

    customRender: (text, record, index) => { return (index + 1); }
  }, {
    title: '指标',
    align: 'right',
    dataIndex: 'indexName',
    width: 200,
   // fixed: 'left',
    scopedSlots: { customRender: 'indexName' },
  }, {
    title: '数据项',
    align: 'right',
    width: 140,
    dataIndex: 'indexValueName',
  //  fixed: 'left',
    scopedSlots: { customRender: 'indexValueName' },
  }, {
    title: '权重',
    align: 'right',
    width: 100,
    dataIndex: 'weight'
  }, {
    title: '1~N 月汇总',
    align: 'right',
    width: 150,
    dataIndex: 'mTotal'
  }, ...getMonthData('tableDetail',month)];

  return {
    loading: false,
    scroll: { x:getTotal(header), y: 700 },
    columns: header,        // 表头信息
    dataSource: [],         // 表格数据，通过接口拿到，默认空数组
  }
}

/* 得分弹窗表格信息 */
const tableScoreData = () => {
  let header = [ {
    title: '计算方式',
    dataIndex: 'way',
  }, {
    title: '指标解释',
    dataIndex: 'explain',
  },];

  return {
    loading: false,
    scroll: { x: true },
    columns: header,        // 表头信息
    dataSource: [],         // 表格数据，通过接口拿到，默认空数组
  }
}


/**
 * 返回 12 个月份数组
 *
 * str = 'table' 返回适配表格 UI 组件的格式
 * [{ title: '', dataIndex: '' }, ...]
 *
 * str = 'option' 返回下拉菜单格式
 * [{ text: '', value: '' }, ...]
 * */
const getMonthData = (str,month) => {
  let arr = [];
  for (let i = 1; i <= 12; i++) {
    let monthVal = ((i < 10) ? ('0' + i) : (i + ''));

    if (str === 'table') {
      arr.push({ title: i + '月', dataIndex: 'm' + monthVal, align: 'right',width:100});
    } else if (str === 'tableDetail'){
      debugger
      if (month.startsWith('0')){
        month = month.substr(1);
      }
      if (month >= i){
        arr.push({ title: i + '月', dataIndex: 'm' + monthVal, align: 'right',width:100});
      }

    }else {
      arr.push({ text: i + '月', value: monthVal,width:100});
    }
  }

  return arr;
}
function getTotal(arrs) {

  return arrs.reduce((total, obj) => {
    let n = (typeof obj.width === 'number') ? obj.width : 0;
    return total + n;
  }, 0)
}





export { tableViewData, tableDetailData, getMonthData,tableScoreData };
